import * as Cesium from "cesium";
import image1 from "@/assets/threeJs/images/device1.png"
import image2 from "@/assets/threeJs/images/device2.png"
import airDetectionData from "@/pointsDatas/airDetectionData.json";

let arr = airDetectionData

function addWeatherSearch(cesiumViewer) {
    arr.forEach((item, index) => {
        cesiumViewer.entities.add({
            show: false,
            id: '空气检测' + item.airName,
            name: '空气检测图标',
            serialNumber: item.serialNumber,
            position: Cesium.Cartesian3.fromDegrees(item.longitude, item.latitude, 10),
            billboard: {
                // 设置广告牌的显示位置
                verticalOrigin: Cesium.VerticalOrigin.TOP,
                // 设置广告牌的显示位置
                horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                image: image1,
                width: 40,
                height: 40,
                // 控制最小和最大像素尺寸
                minimumPixelSize: 25,  // 最小显示尺寸(像素)
                maximumScale: 100,     // 最大缩放比例
                // distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
                //     0,    // 最小可见距离(米)
                //     2000 // 最大可见距离(米)
                // )
            },
        });
    })
}

function displayWeatherSearch(viewer, flag, info) {
    if (flag) {
        viewer.entities.values.forEach((item) => {
            if (item.name === '空气检测图标') {
                console.log(info.airName)
                if (item.id === "空气检测" + info.airName) {
                    item.show = true
                    viewer.flyTo(item,
                        {
                            duration: 2, // 飞行持续时间（秒）
                            maximumHeight: 1000, // 飞行过程中的最大高度（米）
                            offset: {
                                heading: Cesium.Math.toRadians(0), // 航向角（弧度）
                                pitch: Cesium.Math.toRadians(-90), // 俯仰角（弧度），-90表示从正上方看
                                range: 200 // 与实体的距离（米）
                            }
                        }
                    );
                } else {
                    item.show = false
                }
            }
        })

    } else {
        viewer.entities.values.forEach((item) => {
            if (item.name === '空气检测图标') {
                item.show = false
            }
        })
    }
}

export {addWeatherSearch, displayWeatherSearch}
